package com.yznote.compileserver.terminal;

import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 终端工具
 */
@Component
public class TerminalClient {
    @Autowired
    JSch jSch;

    /**
     * 会话连接
     * @param config
     * @return
     * @throws JSchException
     */
    public Session connect(TerminalConnectConfig config) throws JSchException {
        // 获得会话
        Session session = jSch.getSession(config.getUserName(),config.getHost(),config.getPort());
        // 设置会话密码
        session.setPassword(config.getPassword());
        // 进行连接
        session.connect(config.getConnectTimeOut().intValue());
        return session;
    }

    /**
     * 断开连接
     * @param session
     */
    public void releaseSession(Session session){
        session.disconnect();
    }
}
